package usuario;

import br.edu.GenericDAO;
import br.edu.HibernateUtil;
import cartao.Cartao;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

public class UsuarioDAO extends GenericDAO<Usuario> {

    private Session sessao;
    private Transaction transacao;
    private Class classe;

    public UsuarioDAO() {
        super(Usuario.class);
    }

    public void salvar(Usuario u) {
        if (u.getId_usuario() == 0) {
            adicionar(u);
        } else {
            atualizar(u);
        }
    }

    public Usuario pesquisarCodigo(int codigo) {
        sessao = HibernateUtil.getSessionFactory().openSession();
        transacao = sessao.beginTransaction();

        Usuario usuario
                = (Usuario) sessao.createCriteria(Usuario.class).add(Restrictions.eq("id_usuario", codigo)).uniqueResult();
        sessao.close();
        return usuario;
    }

    public boolean autenticacao(String login, String senha) {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        Usuario usuario2 = (Usuario) getSessao().createCriteria(Usuario.class)
                .add(Restrictions.eq("usuario", login))
                .add(Restrictions.eq("senha", senha)).uniqueResult();
        if (login == null) {
            return false;
        } else {
            return true;
        }
    }

}
